home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / iguana / incosrc / incosrc.exe / STARF / C.PAS next >
Pascal/Delphi Source File  |  1993-06-24  |  1KB  |  79 lines

  1. {$G+}
  2.  
  3. USES Kbd;
  4.  
  5. CONST
  6.   RandSeed  : WORD = $348B;
  7.   RandSeed2 : WORD = $7f34;
  8.  
  9. FUNCTION GetRandomNumber : WORD; ASSEMBLER;
  10.   ASM
  11.         MOV     AX,[RandSeed]
  12.         MOV     BX,[RandSeed2]
  13.         ADD     AX,0a137h
  14.         ADD     BX,63f7h
  15.         ROL     AX,2
  16.         MOV     [RandSeed],AX
  17.         ADD     BX,AX
  18.         ROR     BX,1
  19.         MOV     [RandSeed2],BX
  20.         ADD     AX,BX
  21.   END;
  22.  
  23.  
  24. VAR
  25.   Screen : ARRAY[0..199,0..319] OF BYTE ABSOLUTE $A000:0;
  26.  
  27.  
  28. VAR
  29.   j, a : WORD;
  30.   i    : LONGINT;
  31.   x, y : WORD;
  32.  
  33. BEGIN
  34.  
  35.   ASM
  36.         MOV     AX,$13
  37.         INT     $10
  38.   END;
  39.  
  40.   FOR i := 1 TO 772800 DO
  41.     BEGIN
  42.  
  43. {      FOR j := 1 TO 1000 DO;}
  44.  
  45.       REPEAT
  46.         x := GetRandomNumber AND 511;
  47.       UNTIL x < 320;
  48.       REPEAT
  49.         y := GetRandomNumber AND 255;
  50.       UNTIL y < 200;
  51.  
  52.       Screen[y,x] := {Screen[y,x] XOR} 15;
  53.  
  54.     END;
  55.  
  56.  
  57.   KbdReadKey;
  58.  
  59.  
  60.   a := GetRandomNumber;
  61.  
  62.   FOR i := 1 TO 65535 DO
  63.     BEGIN
  64.       j := GetRandomNumber;
  65. {      Write(j : 8);}
  66.       IF a = j THEN
  67.         BEGIN
  68.           WriteLn(i);
  69.           HALT;
  70.         END;
  71.     END;
  72.  
  73.   IF a = GetRandomNumber THEN
  74.     BEGIN
  75.       WriteLn(i);
  76.       HALT;
  77.     END;
  78.  
  79. END.